﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace PrattParsing
{
    [DebuggerNonUserCode]
    public class Parser<E> : PrattParser<E>
    {
        public Parser(IScanner scanner)
            : base(scanner)
        {
        }

        protected PrefixParselet<E> lambda(Parselet.PrefixParseFunc<E> parse)
        {
            return Parselet.Lambda(parse);
        }
        protected InfixParselet<E> lambda(int prec, bool assoc, Parselet.InfixParseFunc<E> parse)
        {
            return Parselet.Lambda(prec, assoc, parse);
        }
        protected InfixParselet<E> lambda(int prec, bool assoc, Parselet.InfixComputeFunc<E> compute)
        {
            return Parselet.Lambda(prec, assoc, compute);
        }
    }
}
